Python Basic - 1: Tập thể dục -9 với giải pháp
Viết một chương trình Python để có được một danh sách các mô -đun Python được cài đặt cục bộ.
Giải pháp mẫu::
Mã Python:
import pkg_resources
installed_packages = pkg_resources.working_set
installed_packages_list = sorted[["%s==%s" % [i.key, i.version]
for i in installed_packages]]
for m in installed_packages_list:
print[m]
Đầu ra mẫu:
asn1crypto==0.24.0 beautifulsoup4==4.5.1 biopython==1.71 bkcharts==0.2 bokeh==0.12.6 cairocffi==0.9.0 cairosvg==2.0.3 certifi==2018.11.29 cffi==1.11.5 chardet==3.0.4 cryptography==2.4.2 cssselect==1.0.1 cvxopt==1.2.2 cycler==0.10.0 decorator==4.3.0 ete3==3.1.1 exifread==2.1.2 genshi==0.7 html5lib==0.999 idna==2.8 jinja2==2.10 jsonschema==2.6.0 kiwisolver==1.0.1 lxml==3.7.0 markupsafe==1.1.0 marshmallow-polyfield==3.2 marshmallow==2.18.0 matplotlib==2.2.3 mpmath==1.1.0 mysql-connector-python==8.0.12 names==0.3.0 networkx==2.2 nose==1.3.7 ntlm-auth==1.2.0 numexpr==2.4.3 numpy==1.15.4 oauthlib==3.0.0 pandas==0.23.4 patsy==0.4.1 pillow==5.4.1 pip==18.0 ply==3.11 pronouncing==0.1.5 protobuf==3.6.1 psutil==5.4.8 pycep-correios==2.3.1 pycolors==0.1.2 pycparser==2.19 pycurl==7.43.0 pygal-maps-ch==1.0.1 pygal-maps-fr==1.1.0 pygal-maps-world==1.0.2 pygal==2.3.1 pygobject==3.20.0 pyparsing==2.3.1 python-apt==1.1.0b1+ubuntu0.16.4.1 python-dateutil==2.7.5 pytz==2018.9 pyyaml==3.13 qiskit-aer==0.1.0 qiskit-aqua==0.4.1 qiskit-terra==0.7.0 qiskit==0.7.0 requests-ntlm==1.1.0 requests-oauthlib==0.8.0 requests==2.21.0 scikit-learn==0.20.0 scipy==1.2.0 seaborn==0.8.1 setuptools==40.6.3 six==1.12.0 statsmodels==0.8.0 sympy==1.3 tables==3.2.2 tinycss==0.4 tornado==5.1.1 urllib3==1.24.1 wheel==0.29.0
Flowchart:
Trình chỉnh sửa mã Python:
Có một cách khác để giải quyết giải pháp này? Đóng góp mã của bạn [và nhận xét] thông qua Disqus.
Trước đây: Viết một chương trình Python để có được những câu chuyện hàng đầu từ Google News.next: Viết chương trình Python để hiển thị một số thông tin về HĐH nơi tập lệnh đang chạy. Write a Python program to get the top
stories from Google news.
Next: Write a Python program to display some information about the OS where the script is running.
Python: Lời khuyên trong ngày
Cấu trúc Deques [Deques là một khái quát của các ngăn xếp và hàng đợi]:
>>> import collections >>> Q = collections.deque[] >>> Q.append[1] >>> Q.appendleft[2] >>> Q.extend[[3, 4]] >>> Q.extendleft[[5, 6]] >>> Q deque[[6, 5, 2, 1, 3, 4]] >>> Q.pop[] 4 >>> Q.popleft[] 6 >>> Q deque[[5, 2, 1, 3]] >>> Q.rotate[3] >>> Q deque[[2, 1, 3, 5]] >>> Q.rotate[-3] >>> Q deque[[5, 2, 1, 3]] >>> last_three = collections.deque[maxlen=3] >>> for i in range[4]: ... last_three.append[i] ... print ', '.join[str[x] for x in last_three] ... 0 0, 1 0, 1, 2 1, 2, 3 2, 3, 4
Dung dịch
Không sử dụng với PIP> 10.0!
50 xu của tôi để nhận được danh sách giống như ____ 12 từ kịch bản Python:
import pip
installed_packages = pip.get_installed_distributions[]
installed_packages_list = sorted[["%s==%s" % [i.key, i.version]
for i in installed_packages]]
print[installed_packages_list]
Như một lớp lót [quá dài]:
sorted[["%s==%s" % [i.key, i.version] for i in pip.get_installed_distributions[]]]
Giving:
['behave==1.2.4', 'enum34==1.0', 'flask==0.10.1', 'itsdangerous==0.24',
'jinja2==2.7.2', 'jsonschema==2.3.0', 'markupsafe==0.23', 'nose==1.3.3',
'parse-type==0.3.4', 'parse==1.6.4', 'prettytable==0.7.2', 'requests==2.3.0',
'six==1.6.1', 'vioozer-metadata==0.1', 'vioozer-users-server==0.1',
'werkzeug==0.9.4']
Phạm vi
Giải pháp này áp dụng cho phạm vi hệ thống hoặc phạm vi môi trường ảo và bao gồm các gói được cài đặt bởi
asn1crypto==0.24.0 beautifulsoup4==4.5.1 biopython==1.71 bkcharts==0.2 bokeh==0.12.6 cairocffi==0.9.0 cairosvg==2.0.3 certifi==2018.11.29 cffi==1.11.5 chardet==3.0.4 cryptography==2.4.2 cssselect==1.0.1 cvxopt==1.2.2 cycler==0.10.0 decorator==4.3.0 ete3==3.1.1 exifread==2.1.2 genshi==0.7 html5lib==0.999 idna==2.8 jinja2==2.10 jsonschema==2.6.0 kiwisolver==1.0.1 lxml==3.7.0 markupsafe==1.1.0 marshmallow-polyfield==3.2 marshmallow==2.18.0 matplotlib==2.2.3 mpmath==1.1.0 mysql-connector-python==8.0.12 names==0.3.0 networkx==2.2 nose==1.3.7 ntlm-auth==1.2.0 numexpr==2.4.3 numpy==1.15.4 oauthlib==3.0.0 pandas==0.23.4 patsy==0.4.1 pillow==5.4.1 pip==18.0 ply==3.11 pronouncing==0.1.5 protobuf==3.6.1 psutil==5.4.8 pycep-correios==2.3.1 pycolors==0.1.2 pycparser==2.19 pycurl==7.43.0 pygal-maps-ch==1.0.1 pygal-maps-fr==1.1.0 pygal-maps-world==1.0.2 pygal==2.3.1 pygobject==3.20.0 pyparsing==2.3.1 python-apt==1.1.0b1+ubuntu0.16.4.1 python-dateutil==2.7.5 pytz==2018.9 pyyaml==3.13 qiskit-aer==0.1.0 qiskit-aqua==0.4.1 qiskit-terra==0.7.0 qiskit==0.7.0 requests-ntlm==1.1.0 requests-oauthlib==0.8.0 requests==2.21.0 scikit-learn==0.20.0 scipy==1.2.0 seaborn==0.8.1 setuptools==40.6.3 six==1.12.0 statsmodels==0.8.0 sympy==1.3 tables==3.2.2 tinycss==0.4 tornado==5.1.1 urllib3==1.24.1 wheel==0.29.03,
asn1crypto==0.24.0 beautifulsoup4==4.5.1 biopython==1.71 bkcharts==0.2 bokeh==0.12.6 cairocffi==0.9.0 cairosvg==2.0.3 certifi==2018.11.29 cffi==1.11.5 chardet==3.0.4 cryptography==2.4.2 cssselect==1.0.1 cvxopt==1.2.2 cycler==0.10.0 decorator==4.3.0 ete3==3.1.1 exifread==2.1.2 genshi==0.7 html5lib==0.999 idna==2.8 jinja2==2.10 jsonschema==2.6.0 kiwisolver==1.0.1 lxml==3.7.0 markupsafe==1.1.0 marshmallow-polyfield==3.2 marshmallow==2.18.0 matplotlib==2.2.3 mpmath==1.1.0 mysql-connector-python==8.0.12 names==0.3.0 networkx==2.2 nose==1.3.7 ntlm-auth==1.2.0 numexpr==2.4.3 numpy==1.15.4 oauthlib==3.0.0 pandas==0.23.4 patsy==0.4.1 pillow==5.4.1 pip==18.0 ply==3.11 pronouncing==0.1.5 protobuf==3.6.1 psutil==5.4.8 pycep-correios==2.3.1 pycolors==0.1.2 pycparser==2.19 pycurl==7.43.0 pygal-maps-ch==1.0.1 pygal-maps-fr==1.1.0 pygal-maps-world==1.0.2 pygal==2.3.1 pygobject==3.20.0 pyparsing==2.3.1 python-apt==1.1.0b1+ubuntu0.16.4.1 python-dateutil==2.7.5 pytz==2018.9 pyyaml==3.13 qiskit-aer==0.1.0 qiskit-aqua==0.4.1 qiskit-terra==0.7.0 qiskit==0.7.0 requests-ntlm==1.1.0 requests-oauthlib==0.8.0 requests==2.21.0 scikit-learn==0.20.0 scipy==1.2.0 seaborn==0.8.1 setuptools==40.6.3 six==1.12.0 statsmodels==0.8.0 sympy==1.3 tables==3.2.2 tinycss==0.4 tornado==5.1.1 urllib3==1.24.1 wheel==0.29.04 và [God Forbid]
asn1crypto==0.24.0 beautifulsoup4==4.5.1 biopython==1.71 bkcharts==0.2 bokeh==0.12.6 cairocffi==0.9.0 cairosvg==2.0.3 certifi==2018.11.29 cffi==1.11.5 chardet==3.0.4 cryptography==2.4.2 cssselect==1.0.1 cvxopt==1.2.2 cycler==0.10.0 decorator==4.3.0 ete3==3.1.1 exifread==2.1.2 genshi==0.7 html5lib==0.999 idna==2.8 jinja2==2.10 jsonschema==2.6.0 kiwisolver==1.0.1 lxml==3.7.0 markupsafe==1.1.0 marshmallow-polyfield==3.2 marshmallow==2.18.0 matplotlib==2.2.3 mpmath==1.1.0 mysql-connector-python==8.0.12 names==0.3.0 networkx==2.2 nose==1.3.7 ntlm-auth==1.2.0 numexpr==2.4.3 numpy==1.15.4 oauthlib==3.0.0 pandas==0.23.4 patsy==0.4.1 pillow==5.4.1 pip==18.0 ply==3.11 pronouncing==0.1.5 protobuf==3.6.1 psutil==5.4.8 pycep-correios==2.3.1 pycolors==0.1.2 pycparser==2.19 pycurl==7.43.0 pygal-maps-ch==1.0.1 pygal-maps-fr==1.1.0 pygal-maps-world==1.0.2 pygal==2.3.1 pygobject==3.20.0 pyparsing==2.3.1 python-apt==1.1.0b1+ubuntu0.16.4.1 python-dateutil==2.7.5 pytz==2018.9 pyyaml==3.13 qiskit-aer==0.1.0 qiskit-aqua==0.4.1 qiskit-terra==0.7.0 qiskit==0.7.0 requests-ntlm==1.1.0 requests-oauthlib==0.8.0 requests==2.21.0 scikit-learn==0.20.0 scipy==1.2.0 seaborn==0.8.1 setuptools==40.6.3 six==1.12.0 statsmodels==0.8.0 sympy==1.3 tables==3.2.2 tinycss==0.4 tornado==5.1.1 urllib3==1.24.1 wheel==0.29.05.
Trường hợp sử dụng của tôi
Tôi đã thêm kết quả của cuộc gọi này vào máy chủ bình của tôi, vì vậy khi tôi gọi nó bằng
asn1crypto==0.24.0 beautifulsoup4==4.5.1 biopython==1.71 bkcharts==0.2 bokeh==0.12.6 cairocffi==0.9.0 cairosvg==2.0.3 certifi==2018.11.29 cffi==1.11.5 chardet==3.0.4 cryptography==2.4.2 cssselect==1.0.1 cvxopt==1.2.2 cycler==0.10.0 decorator==4.3.0 ete3==3.1.1 exifread==2.1.2 genshi==0.7 html5lib==0.999 idna==2.8 jinja2==2.10 jsonschema==2.6.0 kiwisolver==1.0.1 lxml==3.7.0 markupsafe==1.1.0 marshmallow-polyfield==3.2 marshmallow==2.18.0 matplotlib==2.2.3 mpmath==1.1.0 mysql-connector-python==8.0.12 names==0.3.0 networkx==2.2 nose==1.3.7 ntlm-auth==1.2.0 numexpr==2.4.3 numpy==1.15.4 oauthlib==3.0.0 pandas==0.23.4 patsy==0.4.1 pillow==5.4.1 pip==18.0 ply==3.11 pronouncing==0.1.5 protobuf==3.6.1 psutil==5.4.8 pycep-correios==2.3.1 pycolors==0.1.2 pycparser==2.19 pycurl==7.43.0 pygal-maps-ch==1.0.1 pygal-maps-fr==1.1.0 pygal-maps-world==1.0.2 pygal==2.3.1 pygobject==3.20.0 pyparsing==2.3.1 python-apt==1.1.0b1+ubuntu0.16.4.1 python-dateutil==2.7.5 pytz==2018.9 pyyaml==3.13 qiskit-aer==0.1.0 qiskit-aqua==0.4.1 qiskit-terra==0.7.0 qiskit==0.7.0 requests-ntlm==1.1.0 requests-oauthlib==0.8.0 requests==2.21.0 scikit-learn==0.20.0 scipy==1.2.0 seaborn==0.8.1 setuptools==40.6.3 six==1.12.0 statsmodels==0.8.0 sympy==1.3 tables==3.2.2 tinycss==0.4 tornado==5.1.1 urllib3==1.24.1 wheel==0.29.06, tôi nhận được danh sách các gói được cài đặt trên ảo của máy chủ. Nó làm cho việc gỡ lỗi dễ dàng hơn rất nhiều.
Hãy cẩn thận
Tôi đã nhận thấy một hành vi kỳ lạ của kỹ thuật này - khi trình thông dịch Python được gọi trong cùng thư mục với tệp
asn1crypto==0.24.0 beautifulsoup4==4.5.1 biopython==1.71 bkcharts==0.2 bokeh==0.12.6 cairocffi==0.9.0 cairosvg==2.0.3 certifi==2018.11.29 cffi==1.11.5 chardet==3.0.4 cryptography==2.4.2 cssselect==1.0.1 cvxopt==1.2.2 cycler==0.10.0 decorator==4.3.0 ete3==3.1.1 exifread==2.1.2 genshi==0.7 html5lib==0.999 idna==2.8 jinja2==2.10 jsonschema==2.6.0 kiwisolver==1.0.1 lxml==3.7.0 markupsafe==1.1.0 marshmallow-polyfield==3.2 marshmallow==2.18.0 matplotlib==2.2.3 mpmath==1.1.0 mysql-connector-python==8.0.12 names==0.3.0 networkx==2.2 nose==1.3.7 ntlm-auth==1.2.0 numexpr==2.4.3 numpy==1.15.4 oauthlib==3.0.0 pandas==0.23.4 patsy==0.4.1 pillow==5.4.1 pip==18.0 ply==3.11 pronouncing==0.1.5 protobuf==3.6.1 psutil==5.4.8 pycep-correios==2.3.1 pycolors==0.1.2 pycparser==2.19 pycurl==7.43.0 pygal-maps-ch==1.0.1 pygal-maps-fr==1.1.0 pygal-maps-world==1.0.2 pygal==2.3.1 pygobject==3.20.0 pyparsing==2.3.1 python-apt==1.1.0b1+ubuntu0.16.4.1 python-dateutil==2.7.5 pytz==2018.9 pyyaml==3.13 qiskit-aer==0.1.0 qiskit-aqua==0.4.1 qiskit-terra==0.7.0 qiskit==0.7.0 requests-ntlm==1.1.0 requests-oauthlib==0.8.0 requests==2.21.0 scikit-learn==0.20.0 scipy==1.2.0 seaborn==0.8.1 setuptools==40.6.3 six==1.12.0 statsmodels==0.8.0 sympy==1.3 tables==3.2.2 tinycss==0.4 tornado==5.1.1 urllib3==1.24.1 wheel==0.29.07, nó không liệt kê gói được cài đặt bởi
asn1crypto==0.24.0 beautifulsoup4==4.5.1 biopython==1.71 bkcharts==0.2 bokeh==0.12.6 cairocffi==0.9.0 cairosvg==2.0.3 certifi==2018.11.29 cffi==1.11.5 chardet==3.0.4 cryptography==2.4.2 cssselect==1.0.1 cvxopt==1.2.2 cycler==0.10.0 decorator==4.3.0 ete3==3.1.1 exifread==2.1.2 genshi==0.7 html5lib==0.999 idna==2.8 jinja2==2.10 jsonschema==2.6.0 kiwisolver==1.0.1 lxml==3.7.0 markupsafe==1.1.0 marshmallow-polyfield==3.2 marshmallow==2.18.0 matplotlib==2.2.3 mpmath==1.1.0 mysql-connector-python==8.0.12 names==0.3.0 networkx==2.2 nose==1.3.7 ntlm-auth==1.2.0 numexpr==2.4.3 numpy==1.15.4 oauthlib==3.0.0 pandas==0.23.4 patsy==0.4.1 pillow==5.4.1 pip==18.0 ply==3.11 pronouncing==0.1.5 protobuf==3.6.1 psutil==5.4.8 pycep-correios==2.3.1 pycolors==0.1.2 pycparser==2.19 pycurl==7.43.0 pygal-maps-ch==1.0.1 pygal-maps-fr==1.1.0 pygal-maps-world==1.0.2 pygal==2.3.1 pygobject==3.20.0 pyparsing==2.3.1 python-apt==1.1.0b1+ubuntu0.16.4.1 python-dateutil==2.7.5 pytz==2018.9 pyyaml==3.13 qiskit-aer==0.1.0 qiskit-aqua==0.4.1 qiskit-terra==0.7.0 qiskit==0.7.0 requests-ntlm==1.1.0 requests-oauthlib==0.8.0 requests==2.21.0 scikit-learn==0.20.0 scipy==1.2.0 seaborn==0.8.1 setuptools==40.6.3 six==1.12.0 statsmodels==0.8.0 sympy==1.3 tables==3.2.2 tinycss==0.4 tornado==5.1.1 urllib3==1.24.1 wheel==0.29.07.
Các bước để sinh sản:
Tạo một môi trường ảo
$ cd /tmp
$ virtualenv test_env
New python executable in test_env/bin/python
Installing setuptools, pip...done.
$ source test_env/bin/activate
[test_env] $
Clone a git repo với
asn1crypto==0.24.0 beautifulsoup4==4.5.1 biopython==1.71 bkcharts==0.2 bokeh==0.12.6 cairocffi==0.9.0 cairosvg==2.0.3 certifi==2018.11.29 cffi==1.11.5 chardet==3.0.4 cryptography==2.4.2 cssselect==1.0.1 cvxopt==1.2.2 cycler==0.10.0 decorator==4.3.0 ete3==3.1.1 exifread==2.1.2 genshi==0.7 html5lib==0.999 idna==2.8 jinja2==2.10 jsonschema==2.6.0 kiwisolver==1.0.1 lxml==3.7.0 markupsafe==1.1.0 marshmallow-polyfield==3.2 marshmallow==2.18.0 matplotlib==2.2.3 mpmath==1.1.0 mysql-connector-python==8.0.12 names==0.3.0 networkx==2.2 nose==1.3.7 ntlm-auth==1.2.0 numexpr==2.4.3 numpy==1.15.4 oauthlib==3.0.0 pandas==0.23.4 patsy==0.4.1 pillow==5.4.1 pip==18.0 ply==3.11 pronouncing==0.1.5 protobuf==3.6.1 psutil==5.4.8 pycep-correios==2.3.1 pycolors==0.1.2 pycparser==2.19 pycurl==7.43.0 pygal-maps-ch==1.0.1 pygal-maps-fr==1.1.0 pygal-maps-world==1.0.2 pygal==2.3.1 pygobject==3.20.0 pyparsing==2.3.1 python-apt==1.1.0b1+ubuntu0.16.4.1 python-dateutil==2.7.5 pytz==2018.9 pyyaml==3.13 qiskit-aer==0.1.0 qiskit-aqua==0.4.1 qiskit-terra==0.7.0 qiskit==0.7.0 requests-ntlm==1.1.0 requests-oauthlib==0.8.0 requests==2.21.0 scikit-learn==0.20.0 scipy==1.2.0 seaborn==0.8.1 setuptools==40.6.3 six==1.12.0 statsmodels==0.8.0 sympy==1.3 tables==3.2.2 tinycss==0.4 tornado==5.1.1 urllib3==1.24.1 wheel==0.29.07
[test_env] $ git clone //github.com/behave/behave.git
Cloning into 'behave'...
remote: Reusing existing pack: 4350, done.
remote: Total 4350 [delta 0], reused 0 [delta 0]
Receiving objects: 100% [4350/4350], 1.85 MiB | 418.00 KiB/s, done.
Resolving deltas: 100% [2388/2388], done.
Checking connectivity... done.
Chúng tôi đã cư xử
asn1crypto==0.24.0 beautifulsoup4==4.5.1 biopython==1.71 bkcharts==0.2 bokeh==0.12.6 cairocffi==0.9.0 cairosvg==2.0.3 certifi==2018.11.29 cffi==1.11.5 chardet==3.0.4 cryptography==2.4.2 cssselect==1.0.1 cvxopt==1.2.2 cycler==0.10.0 decorator==4.3.0 ete3==3.1.1 exifread==2.1.2 genshi==0.7 html5lib==0.999 idna==2.8 jinja2==2.10 jsonschema==2.6.0 kiwisolver==1.0.1 lxml==3.7.0 markupsafe==1.1.0 marshmallow-polyfield==3.2 marshmallow==2.18.0 matplotlib==2.2.3 mpmath==1.1.0 mysql-connector-python==8.0.12 names==0.3.0 networkx==2.2 nose==1.3.7 ntlm-auth==1.2.0 numexpr==2.4.3 numpy==1.15.4 oauthlib==3.0.0 pandas==0.23.4 patsy==0.4.1 pillow==5.4.1 pip==18.0 ply==3.11 pronouncing==0.1.5 protobuf==3.6.1 psutil==5.4.8 pycep-correios==2.3.1 pycolors==0.1.2 pycparser==2.19 pycurl==7.43.0 pygal-maps-ch==1.0.1 pygal-maps-fr==1.1.0 pygal-maps-world==1.0.2 pygal==2.3.1 pygobject==3.20.0 pyparsing==2.3.1 python-apt==1.1.0b1+ubuntu0.16.4.1 python-dateutil==2.7.5 pytz==2018.9 pyyaml==3.13 qiskit-aer==0.1.0 qiskit-aqua==0.4.1 qiskit-terra==0.7.0 qiskit==0.7.0 requests-ntlm==1.1.0 requests-oauthlib==0.8.0 requests==2.21.0 scikit-learn==0.20.0 scipy==1.2.0 seaborn==0.8.1 setuptools==40.6.3 six==1.12.0 statsmodels==0.8.0 sympy==1.3 tables==3.2.2 tinycss==0.4 tornado==5.1.1 urllib3==1.24.1 wheel==0.29.07 trong
>>> import collections >>> Q = collections.deque[] >>> Q.append[1] >>> Q.appendleft[2] >>> Q.extend[[3, 4]] >>> Q.extendleft[[5, 6]] >>> Q deque[[6, 5, 2, 1, 3, 4]] >>> Q.pop[] 4 >>> Q.popleft[] 6 >>> Q deque[[5, 2, 1, 3]] >>> Q.rotate[3] >>> Q deque[[2, 1, 3, 5]] >>> Q.rotate[-3] >>> Q deque[[5, 2, 1, 3]] >>> last_three = collections.deque[maxlen=3] >>> for i in range[4]: ... last_three.append[i] ... print ', '.join[str[x] for x in last_three] ... 0 0, 1 0, 1, 2 1, 2, 3 2, 3, 41:
[test_env] $ ls /tmp/behave/setup.py
/tmp/behave/setup.py
Cài đặt gói Python từ repo git
[test_env] $ cd /tmp/behave && pip install .
running install
...
Installed /private/tmp/test_env/lib/python2.7/site-packages/enum34-1.0-py2.7.egg
Finished processing dependencies for behave==1.2.5a1
Nếu chúng ta chạy giải pháp nói trên từ >>> import collections
>>> Q = collections.deque[]
>>> Q.append[1]
>>> Q.appendleft[2]
>>> Q.extend[[3, 4]]
>>> Q.extendleft[[5, 6]]
>>> Q
deque[[6, 5, 2, 1, 3, 4]]
>>> Q.pop[]
4
>>> Q.popleft[]
6
>>> Q
deque[[5, 2, 1, 3]]
>>> Q.rotate[3]
>>> Q
deque[[2, 1, 3, 5]]
>>> Q.rotate[-3]
>>> Q
deque[[5, 2, 1, 3]]
>>> last_three = collections.deque[maxlen=3]
>>> for i in range[4]:
... last_three.append[i]
... print ', '.join[str[x] for x in last_three]
...
0
0, 1
0, 1, 2
1, 2, 3
2, 3, 4
2
asn1crypto==0.24.0 beautifulsoup4==4.5.1 biopython==1.71 bkcharts==0.2 bokeh==0.12.6 cairocffi==0.9.0 cairosvg==2.0.3 certifi==2018.11.29 cffi==1.11.5 chardet==3.0.4 cryptography==2.4.2 cssselect==1.0.1 cvxopt==1.2.2 cycler==0.10.0 decorator==4.3.0 ete3==3.1.1 exifread==2.1.2 genshi==0.7 html5lib==0.999 idna==2.8 jinja2==2.10 jsonschema==2.6.0 kiwisolver==1.0.1 lxml==3.7.0 markupsafe==1.1.0 marshmallow-polyfield==3.2 marshmallow==2.18.0 matplotlib==2.2.3 mpmath==1.1.0 mysql-connector-python==8.0.12 names==0.3.0 networkx==2.2 nose==1.3.7 ntlm-auth==1.2.0 numexpr==2.4.3 numpy==1.15.4 oauthlib==3.0.0 pandas==0.23.4 patsy==0.4.1 pillow==5.4.1 pip==18.0 ply==3.11 pronouncing==0.1.5 protobuf==3.6.1 psutil==5.4.8 pycep-correios==2.3.1 pycolors==0.1.2 pycparser==2.19 pycurl==7.43.0 pygal-maps-ch==1.0.1 pygal-maps-fr==1.1.0 pygal-maps-world==1.0.2 pygal==2.3.1 pygobject==3.20.0 pyparsing==2.3.1 python-apt==1.1.0b1+ubuntu0.16.4.1 python-dateutil==2.7.5 pytz==2018.9 pyyaml==3.13 qiskit-aer==0.1.0 qiskit-aqua==0.4.1 qiskit-terra==0.7.0 qiskit==0.7.0 requests-ntlm==1.1.0 requests-oauthlib==0.8.0 requests==2.21.0 scikit-learn==0.20.0 scipy==1.2.0 seaborn==0.8.1 setuptools==40.6.3 six==1.12.0 statsmodels==0.8.0 sympy==1.3 tables==3.2.2 tinycss==0.4 tornado==5.1.1 urllib3==1.24.1 wheel==0.29.00
Nếu chúng ta chạy giải pháp nói trên từ >>> import collections
>>> Q = collections.deque[]
>>> Q.append[1]
>>> Q.appendleft[2]
>>> Q.extend[[3, 4]]
>>> Q.extendleft[[5, 6]]
>>> Q
deque[[6, 5, 2, 1, 3, 4]]
>>> Q.pop[]
4
>>> Q.popleft[]
6
>>> Q
deque[[5, 2, 1, 3]]
>>> Q.rotate[3]
>>> Q
deque[[2, 1, 3, 5]]
>>> Q.rotate[-3]
>>> Q
deque[[5, 2, 1, 3]]
>>> last_three = collections.deque[maxlen=3]
>>> for i in range[4]:
... last_three.append[i]
... print ', '.join[str[x] for x in last_three]
...
0
0, 1
0, 1, 2
1, 2, 3
2, 3, 4
1
asn1crypto==0.24.0 beautifulsoup4==4.5.1 biopython==1.71 bkcharts==0.2 bokeh==0.12.6 cairocffi==0.9.0 cairosvg==2.0.3 certifi==2018.11.29 cffi==1.11.5 chardet==3.0.4 cryptography==2.4.2 cssselect==1.0.1 cvxopt==1.2.2 cycler==0.10.0 decorator==4.3.0 ete3==3.1.1 exifread==2.1.2 genshi==0.7 html5lib==0.999 idna==2.8 jinja2==2.10 jsonschema==2.6.0 kiwisolver==1.0.1 lxml==3.7.0 markupsafe==1.1.0 marshmallow-polyfield==3.2 marshmallow==2.18.0 matplotlib==2.2.3 mpmath==1.1.0 mysql-connector-python==8.0.12 names==0.3.0 networkx==2.2 nose==1.3.7 ntlm-auth==1.2.0 numexpr==2.4.3 numpy==1.15.4 oauthlib==3.0.0 pandas==0.23.4 patsy==0.4.1 pillow==5.4.1 pip==18.0 ply==3.11 pronouncing==0.1.5 protobuf==3.6.1 psutil==5.4.8 pycep-correios==2.3.1 pycolors==0.1.2 pycparser==2.19 pycurl==7.43.0 pygal-maps-ch==1.0.1 pygal-maps-fr==1.1.0 pygal-maps-world==1.0.2 pygal==2.3.1 pygobject==3.20.0 pyparsing==2.3.1 python-apt==1.1.0b1+ubuntu0.16.4.1 python-dateutil==2.7.5 pytz==2018.9 pyyaml==3.13 qiskit-aer==0.1.0 qiskit-aqua==0.4.1 qiskit-terra==0.7.0 qiskit==0.7.0 requests-ntlm==1.1.0 requests-oauthlib==0.8.0 requests==2.21.0 scikit-learn==0.20.0 scipy==1.2.0 seaborn==0.8.1 setuptools==40.6.3 six==1.12.0 statsmodels==0.8.0 sympy==1.3 tables==3.2.2 tinycss==0.4 tornado==5.1.1 urllib3==1.24.1 wheel==0.29.01
>>> import collections >>> Q = collections.deque[] >>> Q.append[1] >>> Q.appendleft[2] >>> Q.extend[[3, 4]] >>> Q.extendleft[[5, 6]] >>> Q deque[[6, 5, 2, 1, 3, 4]] >>> Q.pop[] 4 >>> Q.popleft[] 6 >>> Q deque[[5, 2, 1, 3]] >>> Q.rotate[3] >>> Q deque[[2, 1, 3, 5]] >>> Q.rotate[-3] >>> Q deque[[5, 2, 1, 3]] >>> last_three = collections.deque[maxlen=3] >>> for i in range[4]: ... last_three.append[i] ... print ', '.join[str[x] for x in last_three] ... 0 0, 1 0, 1, 2 1, 2, 3 2, 3, 44 bị thiếu trong ví dụ thứ hai, vì thư mục làm việc chứa tệp
asn1crypto==0.24.0 beautifulsoup4==4.5.1 biopython==1.71 bkcharts==0.2 bokeh==0.12.6 cairocffi==0.9.0 cairosvg==2.0.3 certifi==2018.11.29 cffi==1.11.5 chardet==3.0.4 cryptography==2.4.2 cssselect==1.0.1 cvxopt==1.2.2 cycler==0.10.0 decorator==4.3.0 ete3==3.1.1 exifread==2.1.2 genshi==0.7 html5lib==0.999 idna==2.8 jinja2==2.10 jsonschema==2.6.0 kiwisolver==1.0.1 lxml==3.7.0 markupsafe==1.1.0 marshmallow-polyfield==3.2 marshmallow==2.18.0 matplotlib==2.2.3 mpmath==1.1.0 mysql-connector-python==8.0.12 names==0.3.0 networkx==2.2 nose==1.3.7 ntlm-auth==1.2.0 numexpr==2.4.3 numpy==1.15.4 oauthlib==3.0.0 pandas==0.23.4 patsy==0.4.1 pillow==5.4.1 pip==18.0 ply==3.11 pronouncing==0.1.5 protobuf==3.6.1 psutil==5.4.8 pycep-correios==2.3.1 pycolors==0.1.2 pycparser==2.19 pycurl==7.43.0 pygal-maps-ch==1.0.1 pygal-maps-fr==1.1.0 pygal-maps-world==1.0.2 pygal==2.3.1 pygobject==3.20.0 pyparsing==2.3.1 python-apt==1.1.0b1+ubuntu0.16.4.1 python-dateutil==2.7.5 pytz==2018.9 pyyaml==3.13 qiskit-aer==0.1.0 qiskit-aqua==0.4.1 qiskit-terra==0.7.0 qiskit==0.7.0 requests-ntlm==1.1.0 requests-oauthlib==0.8.0 requests==2.21.0 scikit-learn==0.20.0 scipy==1.2.0 seaborn==0.8.1 setuptools==40.6.3 six==1.12.0 statsmodels==0.8.0 sympy==1.3 tables==3.2.2 tinycss==0.4 tornado==5.1.1 urllib3==1.24.1 wheel==0.29.07 của ____ 25.
Tôi không thể tìm thấy bất kỳ tài liệu tham khảo nào về vấn đề này trong tài liệu. Có lẽ tôi sẽ mở một lỗi cho nó.