---
title: "subscript(_:)"
framework: swift
role: symbol
role_heading: Instance Subscript
path: "swift/dictionary/subscript(_:)-8rfql"
---

# subscript(_:)

Accesses the value associated with the given key for reading and writing.

## Declaration

```swift
subscript(key: Key) -> Value? { get set }
```

## Parameters

- `key`: The key to find in the dictionary.

## Return Value

Return Value The value associated with key if key is in the dictionary; otherwise, nil.

## Overview

Overview This key-based subscript returns the value for the given key if the key is found in the dictionary, or nil if the key is not found. The following example creates a new dictionary and prints the value of a key found in the dictionary ("Coral") and a key not found in the dictionary ("Cerise"). var hues = ["Heliotrope": 296, "Coral": 16, "Aquamarine": 156] print(hues["Coral"]) // Prints "Optional(16)" print(hues["Cerise"]) // Prints "nil" When you assign a value for a key and that key already exists, the dictionary overwrites the existing value. If the dictionary doesn’t contain the key, the key and value are added as a new key-value pair. Here, the value for the key "Coral" is updated from 16 to 18 and a new key-value pair is added for the key "Cerise". hues["Coral"] = 18 print(hues["Coral"]) // Prints "Optional(18)"

hues["Cerise"] = 330 print(hues["Cerise"]) // Prints "Optional(330)" If you assign nil as the value for the given key, the dictionary removes that key and its associated value. In the following example, the key-value pair for the key "Aquamarine" is removed from the dictionary by assigning nil to the key-based subscript. hues["Aquamarine"] = nil print(hues) // Prints "["Coral": 18, "Heliotrope": 296, "Cerise": 330]"

## See Also

### Accessing Keys and Values

- [subscript(_:default:)](swift/dictionary/subscript(_:default:).md)
- [index(forKey:)](swift/dictionary/index(forkey:).md)
- [subscript(_:)](swift/dictionary/subscript(_:)-4bhoo.md)
- [keys](swift/dictionary/keys-swift.property.md)
- [values](swift/dictionary/values-swift.property.md)
- [first](swift/dictionary/first.md)
- [randomElement()](swift/dictionary/randomelement().md)
- [randomElement(using:)](swift/dictionary/randomelement(using:).md)
